package com.zq;

import java.util.Comparator;
import java.util.TreeSet;

/**
 * @ProjectName: ybxy6
 * @Titile: TreeSetDemo
 * @Author: zqsfg
 * @Description: TODO
 */
public class TreeSetDemo {
    //集合只能存储引用数据类型，不能存储基本数据类型
    public static void main(String[] args) {
//        tset();
//        test1();
//        test2();
//        test3();
        int s=sum(1,2,3,4,5);
        System.out.println(s);


    }

    private static void tset() {
        TreeSet<Integer> set1 = new TreeSet<>();
        //会将1包装成Integer对象（自动装箱）
        set1.add(1);
        set1.add(5);
        set1.add(4);
        set1.add(2);
        set1.add(3);
//        System.out.println(set1);
        //验证TreeSet的可排序特点(增强for循环)
        for (Integer integer : set1){
            System.out.println(integer);
        }
    }


    //c
    public static void test1() {

        TreeSet<Student> set = new TreeSet<>();
        set.add(new Student("zxc",19));
        set.add(new Student("ysq",20));
        set.add(new Student("zq",18));
        set.add(new Student("zxy",21));

        for(Student student:set ){
            System.out.println(student.getName()+"--"+student.getAge());
        }

    }


    public static void test2() {
//        Comparator<Student> comparator = new Comparator<Student>() {
//            @Override
//            public int compare(Student o1, Student o2) {
//                //如果是正序：o1-o2
//                //如果是倒序：o2-o1
//                return o1.getAge()-o2.getAge();
//            }
//        };
//        Comparator<Student> comparator = (o1, o2) -> o1.getAge()-o2.getAge();

        Comparator<Student> comparator = Comparator.comparingInt(Student::getAge);


        TreeSet<Student> set = new TreeSet<>(comparator);
        set.add(new Student("zxc",19));
        set.add(new Student("ysq",20));
        set.add(new Student("zq",18));
        set.add(new Student("zxy",21));
        for(Student student:set ){
            System.out.println(student.getName()+"--"+student.getAge());
        }
    }
//    public static void test3() {
//        Comparator<Student> comparator = (o1, o2) -> o2.getAge()-o1.getAge();
//
//        TreeSet<Student> set = new TreeSet<>(comparator);
//        set.add(new Student("zxc",19));
//        set.add(new Student("ysq",20));
//        set.add(new Student("zq",18));
//        set.add(new Student("zxy",21));
//
//    }


    //可变参数必须是形参的最后一个（例如 public static int sum(String name,int... a)）
    public static int sum(int... a) {
        int total = 0;
        for (int i=0;i<a.length;i++) {
            total += a[i];

        }
        return total;

    }




}
